package com.wuyou.designPatterns.composite;

public abstract class Entry {

    /**
     * 获取名字
     * @return
     */
    public abstract String getName();

    /**
     * 获取大小
     * @return
     */
    public abstract int getSize();

    public Entry add(Entry entry) throws FileTreatmentException{
        throw new FileTreatmentException();
    }

    /**
     * 显示目录条目一览
     */
    public void printList(){
        printList("");
    }

    /**
     * 加上前缀并显示目录一栏
     * @param prefix
     */
    public abstract void printList(String prefix);

    /**
     * 显示代表类的文字
     * @return
     */
    @Override
    public String toString() {
        return getName() + " (" + getSize() + ")";
    }
}
